// components/touch-line/touch-line.js
let app=getApp();
Component({

  /**
   * 组件的属性列表
   */
  properties: {
    name:{
      type:String
    },
    path:{
      type:String
    },
    userInfo:{
      type:Object
    }
  },

  /**
   * 组件的初始数据
   */
  data: {

  },

  /**
   * 组件的方法列表
   */
  methods: {
    // 主方法：处理点击事件
    navTo() {
      if (!this.data.userInfo) {
        this.redirectToLogin(); // 未登录时跳转登录
        return;
      }

      if (this.data.name === '退出登录') {
        this.logoutHandler(); // 执行退出登录操作
        return;
      }

      this.navigateToPage(); // 正常跳转
    },

    // 跳转到登录页面
    redirectToLogin() {
      console.log("用户未登录，跳转至登录页面");
      wx.navigateTo({
        url: '../../pages/mine_detail/login/login',
        fail: () => {
          wx.showToast({
            title: '跳转失败，请重试',
            icon: 'none'
          });
        }
      });
    },

    // 退出登录逻辑
    logoutHandler() {
      console.log("执行退出登录操作");
      try {
         //页面刷新
         const pages = getCurrentPages();     //获取页面列表
         const perpage = pages[pages.length - 1];    //当前页   
         console.log(perpage);
         //用户数据清空
        app.globalData.userInfo=null;
        
         perpage.onLoad();  
         
         wx.redirectTo({
           url: this.data.path,
         })
        wx.showToast({
          title: '已退出登录',
          icon: 'success'
        });
      } catch (e) {
        console.error("退出登录失败：", e);
        wx.showToast({
          title: '退出失败，请重试',
          icon: 'none'
        });
      }
    },

    // 正常跳转功能页面
    navigateToPage() {
      wx.navigateTo({
        url: this.data.path,
        fail: () => {
          wx.showToast({
            title: '跳转失败，请重试',
            icon: 'none'
          });
        }
      });
    }
  }
})